/**
 * 
 */
package edu.com.gestionstock.dao;

import edu.com.gestionstock.dao.ConnectionJdbc;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;



/**
 * @author pascal
 *
 */
public abstract class DAO<T> {

	public Connection connect = ConnectionJdbc.getInstance() ;
	/**
	 * Permet de r�cup�rer un objet via son ID
	 * @param id
	 * @return
	 */
	public abstract T find(int id);
	
	public abstract ArrayList<T> findList(String value2Search);
	
	/**
	 * Permet de cr�er une entr�e dans la base de donn�es
	 * par rapport � un objet
	 * @param obj
	 */
	public abstract T create(T obj);
	
	/**
	 * Permet de mettre � jour les donn�es d'une entr�e dans la base 
	 * @param obj
	 */
	public abstract T update(T obj);
	
	/**
	 * Permet la suppression d'une entr�e de la base
	 * @param obj
	 */
	public abstract void delete(T obj);
	
	
	public abstract ArrayList<T> findList(T obj);
	
	/**
	 * Truncate the table
	 * @throws SQLException 
	 */
	public abstract void reset() throws SQLException;
}
